/* - - - - - - - - - - - - - - - - - - - - - - - - -
 * Llib module header selector.
 * llib select it's module by checking the main version
 * with module version by the definition in "lversion.h"
 *
 * Usage:
 * Module header selector will work when these macros
 * above have been defined:
 * 1. L_VERSION_MODULE_VERSION: the include module version
 * 2. L_VERSION_MODULE_NAME: the include module name
 * - - - - - - - - - - - - - - - - - - - - - - - - - */

#if !defined(L_VERSION_MODULE_VERSION) && !defined(L_VERSION_MODULE_NAME)
#   error "Failed to select module, macros \"L_VERSION_MODULE_VERSION\" and \"L_VERSION_MODULE_NAME\" undefined."
#endif

#include "lversion.h"

#if L_VERSION_MODULE_VERSION != L_VERSION_MODULE_UNDEFINED
#   include L_STRINGIZE(                    \
            L_JOIN(L_VERSION_MODULE_NAME,   \
            L_JOIN(/_,                      \
            L_JOIN(L_VERSION_MODULE_NAME,   \
            L_JOIN(_,                       \
            L_JOIN(L_VERSION_MODULE_VERSION,.h))))))
#endif

#undef L_VERSION_MODULE_VERSION
#undef L_VERSION_MODULE_NAME
